Navigation system

ABSTRACT

A navigation guidance system ( 1 ) is provided which provides direction information from a remote server ( 11 ) to a mobile user unit ( 2 ) for guiding user to a desired destination. The navigation guidance system ( 1 ) maintains time-related models for traffic speeds expected on road segments of a road database. By maintaining such time-related models, the system can more accurately provide the user with road guidance instructions to arrive at a chosen destination by a given time. The system can also provide more accurate route guidance information to a destination over different routes, even during rush hour or at off peak times. These time related models can be changed as a result of changing traffic patterns or as a result of an incident on a road segment. In a preferred embodiment, therefore, the system continuously monitors each calculated route and advises the users of alternative routes or of updated departure or arrival times as appropriate.

[0001] The present invention relates to a system and method forproviding navigation assistance to a user for guiding the user from asource location to a desired destination. The invention is particularly,although not exclusively relevant to a system for providing navigationinstructions to a user via a mobile unit, such as a telephone, includingan estimated departure time for future travel plans.

[0002] Systems have been proposed which provide geographical or positiondependent information to a mobile user. Two main types of systems havebeen proposed to date. These include autonomous systems in which a usercomputer unit includes a geographic database which it accesses todetermine the required geographic or position dependent information; andsystems which employ a remote computer unit to determine the appropriateinformation which is then transmitted to the user via for example amobile telephone. The main disadvantage of the autonomous system is thatthe geographic database used to provide the geographic information isstored in the user's computer device and will soon become out-of-date aschanges occur to the geographic landscape. This database must thereforebe updated on a regular basis which is inconvenient for the user andcostly for the service providers. Whilst the system which uses theremote server overcomes this problem, the “client-server” systemsproposed to date have limited functionality and tend to calculatequickest routes and arrival times based on national speed limits or userdefined preferences for speeds on different types of road. Suchapproximations clearly do not yield the best results in most practicalsituation.

[0003] An aim of the present invention is to provide an alternativeroute guidance system which can provide improved route guidanceinformation.

[0004] According to one aspect, the present provides a navigationguidance system comprising: means for storing data defining a roadnetwork; means for storing data defining traffic speeds along the roadsin the road network at different times; means for receiving data from auser defining a travel plan including a source location, a destinationlocation and a proposed travel time; and route determining meanscomprising: (i) means for determining traffic speeds for the roads ofthe road network at the proposed travel time; and (ii) means forcalculating a quickest route from the source location to the destinationlocation at the proposed travel time using the road network data and thedetermined traffic speeds for the roads of the road network. Such asystem allows users to get accurate route guidance information forfuture travel plans and can provide users with a required departure timein order to arrive at the destination at a desired arrival time.

[0005] Exemplary embodiments of the present invention will now bedescribed with reference to the accompanying drawings, in which:

[0006]FIG. 1 is a schematic diagram illustrating a navigation systemembodying the present invention;

[0007]FIG. 2 is a partial cut-away view illustrating an interior of amotor vehicle illustrated in FIG. 1, showing a mobile telephone which issupported in a mounting bracket fixed to the motor vehicle;

[0008]FIG. 3 is a schematic block diagram of the mobile telephone shownin FIG. 2;

[0009]FIG. 4 is a schematic block diagram illustrating the maincomponents of a navigation control centre which forms part of the systemshown in FIG. 1 used to calculate a route from a specified startlocation to a specified end location;

[0010]FIG. 5a is a speed time plot illustrating a static speedcharacteristic which can be used to define the traffic speed over a roadsegment;

[0011]FIG. 5b is a speed time plot illustrating a time varying speedcharacteristic which can be used to define the traffic speed over a roadsegment;

[0012]FIG. 5c is a speed time plot illustrating a dynamic change to aspeed characteristic which can be used to define the traffic speed overa road segment;

[0013]FIG. 6 is a schematic block diagram illustrating the maincomponents of a driving instruction generation system which forms partof the navigation control centre shown in FIG. 1 and which is used toconvert the route guidance information obtained from the system shown inFIG. 4 into user understandable instructions;

[0014]FIG. 7 is a block diagram illustrating the main components of aroute monitoring system which forms part of the navigation controlcentre shown in FIG. 1; and

[0015]FIG. 8 is a flow chart illustrating the processing steps performedby the route monitoring system shown in FIG. 7.

[0016]FIG. 1 is a schematic representation of a navigation system 1 forproviding a user within a motor vehicle 2 with navigation informationfor guiding the user to a selected destination. The navigationinformation is provided to the user by a navigation control centre 11 inresponse to a request made by the user. In this embodiment, both therequest and the subsequently determined navigation information aretransmitted between the user and the navigation control centre via theuser's mobile telephone 3 (shown in FIG. 2 mounted in a cradle 5 andpowered from the cigarette lighter socket 7), the mobile base station 9and the telephone switching network 12. The navigation control centre 11maintains time-related models for actual traffic speeds expected on eachsection of road in a road database. This allows the navigation controlcentre 11 to be able to provide the user with relatively accurate routeguidance information to a selected destination, even during rush hour orat off-peak times. This also allows the system to be able to calculatemore accurately the time that the user will have to set off from thestarting location to arrive at the destination at a required arrivaltime.

[0017] In this embodiment, the user's telephone or vehicle also includesa GPS receiver for receiving position, speed and course over the groundinformation which it determines from signals received from overheadsatellites 10. This information is also transmitted to the navigationcontrol centre 11 through the telephone link, so that the navigationcontrol centre 11 can track the user's location over the determinedroute and provide the user with updated route guidance information asappropriate. The navigation control centre 11 can receive navigationqueries from a number of different users having mobile telephones 3 (orsimilar communication devices) and can then provide the appropriatenavigation instructions back to the respective user. The type of querythat the navigation control centre 11 can respond to include:

[0018] i) Where am I?

[0019] ii) Where is the nearest service station, restaurant etc?

[0020] iii) How do I get to Lymington, Oxford, the nearest servicestation etc?

[0021] iv) What is the shortest route, quickest route or the most scenicroute to get to town X from my current location?

[0022] v) If I wish to arrive at town X at time T, at what time should Istart from town Y?

[0023] In this embodiment, the navigation information transmitted backfrom the navigation control centre 11 to the mobile telephone 3 includesvoice synthesised instructions which are output to the user through thespeaker of the mobile telephone 3.

[0024]FIG. 3 illustrates in more detail the main components of themobile telephone 3 used by the user in this embodiment. As shown, themobile telephone 3 includes a telephone transceiver circuit 13 which isoperable to receive voice data from the base station 9 and to transmitvoice data to the base station 9 through the communications aerial 17.The voice data received from the base station 9 is decoded by thetelephone transceiver 31 and output to the speaker 16. Similarly, thespeech signal of the user is converted by the microphone 15 into acorresponding electrical signal which is encoded into voice data by thetelephone transceiver 13 and transmitted to the base station 9 via theaerial 17.

[0025] The mobile telephone 3 also includes a central processing unit(CPU) 23, display 19 and keyboard 21. The keyboard 21 allows the user toenter the number of the party to be called as well as, for example, anytext query to be sent to the navigation control centre 11. As with aconventional telephone, during a dial up operation, the number beingentered by the user is displayed on the display for verificationpurposes. Once the user has confirmed the number to be dialled, the CPU23 passes the appropriate signalling information to the telephonetransceiver 13 for transmission to the base station 9, for setting upthe appropriate call connection. The mobile telephone 3 also includes amemory 31 including RAM which provides a working memory for thetelephone as well as ROM which stores user telephone numbers and controlsoftware for controlling the operation of the telephone 3.

[0026] As shown in FIG. 3, in this embodiment, the mobile telephone 3also includes a positioning unit 25 (which in this embodiment is a GPSreceiver) which is operable to receive GPS satellite signals through theGPS aerial 27. The positioning unit 25 provides the CPU with a positionsignal, a speed over the ground signal and a course over the ground(COG) signal, which are constantly updated (every second or so) whilethe mobile telephone 3 has direct communication with a sufficient numberof GPS satellites 10. The mobile telephone 3 also includes an azimuthsensor 29 which provides an indication of the current orientation of themobile telephone 3 relative to some reference bearing, such as North.This orientation information is also passed to the CPU 23 which storesthe information in the memory 31. The stored position and orientationinformation is then transmitted to the navigation control centre 11automatically or when prompted to do so by the control centre 11.

[0027]FIG. 4 is a schematic block diagram illustrating the maincomponents of the navigation control centre 11 which are used todetermine a route from a start location to an end location for a giventime for the start or end of the journey. As shown, the system includesa call centre 41 which acts as the interface between the user and theroute calculation system. The call centre 41 may be entirely automaticor it may include a human operator. As those skilled in the art willappreciate, if the call centre 41 is to be entirely automatic, then itwill need to have appropriate speech recognition circuitry and/or textprocessing circuitry for converting the user's navigation query intoappropriate data which can be processed by the route calculation system.As shown, the call centre 41 also receives an input from a userpreferences database 43 which defines, amongst other things, thepreferred format of the navigation instructions for each user (e.g.whether distances are to be output to the user in miles or kilometres).The call centre 41 can also set user preferences within the database 43in response to commands received from the user.

[0028] In response to receiving a navigation request, the call centre 41outputs the user defined start and end location to a geocoding unit 45which transforms the user defined locations (which may be in terms ofplace names, post codes, telephone numbers etc) into latitude andlongitude coordinates which it passes, together with any defined startor end time for the journey, to a route calculation unit 47. The routecalculation unit 47 then calculates the appropriate route from the startlocation to the end location using data from a road network database 49,data from a traffic database 51 and user preferences from the userpreferences database 43.

[0029] The road network database 49 holds data which defines theinterconnectivity of available road segments, the segment length,direction and the road and street name of which the road segment forms apart. In this embodiment, the route calculation unit 47 does notdirectly navigate through the data in the road network database 49,since it generally includes more information (such as the road names andthe like) than is strictly necessary to calculate the route and hence isslower to navigate through. Instead, in this embodiment, a set of graphfiles 53 are generated from the data stored in the road network database49 which define the available road segments, their interconnectivity,their direction and their length. As illustrated in FIG. 9, the roadnetwork database 49 can be updated by data from external data feeds.These feeds may come from, for example, government departments in chargeof road planning when new roads are built or when existing two way roadsget changed into one way roads or vice versa.

[0030] The traffic database 51 is associated with the road networkdatabase 49 and provides an expected traffic speed for each road segmentstored in the road network database at any defined time of day, day ofweek and time of year in relation to other factors which may affect theroad speed such as school holidays, planned roadworks, annual eventsetc. In this embodiment, the traffic database 51 also includes datawhich is not needed by the route calculation unit 47. Therefore, inorder to speed up the route calculation process, appropriate road speeddata 55 is extracted from the traffic database 51 for use by the routecalculation unit 47. The extracted road speed data defines, for eachroad segment, the road segment's identification (id), the direction oftravel along the road segment, the time of travel along the road segmentand the speed of the traffic flow for that segment at that time. Theroute calculation unit 47 can then use this road speed data 55 togetherwith the graph files 53 to calculate the quickest route from thespecified start location to the specified end location whilstmaintaining a record of the expected time of day during the route usingthe specified start or end time for the journey, the road speeds and theroad segment lengths.

[0031] In this embodiment, the traffic database 51 can be updatedpermanently or on a temporarily basis using real time data to allow fortemporary road speed variations due to, for example, road trafficaccidents, road signal failures, temporary roadworks etc. In thisembodiment, the traffic database 51 is updated by a traffic datacontroller 57 which generates the data held permanently or temporarilyin the traffic database 51. The traffic controller 57 may receivedefined road speeds from external sources such as the AutomobileAssociation (AA) or it may determine such speeds from data that itreceives from external sources such as the Traffic Master Systemavailable in the UK. For example, a pattern of road speeds observedduring daily rush hours may be modelled by the traffic data controller57 for permanent inclusion in the traffic database 51.

[0032] In this embodiment, the traffic data controller 57 is alsooperable to predict near-future traffic flows (e.g. over the nextseveral hours) based on observed traffic flows or traffic incidents,using predefined rules. FIG. 5 illustrates various different speed-timecharacteristics which can be stored for each road segment in the trafficdatabase.

[0033] In particular, FIG. 5a shows a constant speed-time characteristicwhich is stored for road segments for which the traffic speed does notchange. This type of static speed-time characteristic is the type ofcharacteristic that conventional navigation systems employ and isusually defined either by user preferences or by national speed limitsfor the road segment.

[0034]FIG. 5b is a plot illustrating a time varying speed-timecharacteristic which illustrates how the traffic speed over a roadsegment may vary with time. The speed-time characteristic shown in FIG.5b might, for example, correspond to the speed characteristic for a roadsegment over a 24 hour period, with the two dips 60, 62 in thecharacteristic representing morning and evening rush hours during whichthe speed on the road segment decreases. In this embodiment, a differentspeed-time characteristic for each day of the year is stored in thetraffic database 51 for each road segment defined in the road networkdatabase 49.

[0035] Finally, FIG. 5c illustrates a temporary speed-timecharacteristic which may be used to model the expected traffic speed ona road segment after an observed change in the steady state road segmentspeed (which may occur because of an accident on that road segment). Theshape of the characteristic shown in FIG. 5c can be determined in anumber of different ways. For example, the decay shape may be modelledby a simple first order model with some predetermined time constant(e.g. 2 hours). A more sophisticated model may be used in order toincorporate other knowledge of the incident (such as a traffic reportissued by the police). Further, if the navigation control centre 11 iscontrolling the movements of a significant number of users into theaffected area, then it may directly influence the traffic in thevicinity of the incident. Consequently, the traffic data controller 57can determine an appropriate shape for the speed-time characteristic forthe various road segments based on this additional knowledge of theplanned routes of other road users. In this embodiment, temporaryspeed-time characteristics such as the one shown in FIG. 5c takeprecedence over the daily characteristics stored for each road segment.

[0036] As shown in FIG. 4, the output from the route calculation unit 47is a segment list which comprises an ordered sequence of road segmentidentifications which define the route to be taken from the specifiedstart location to the specified end location. If appropriate, the routecalculation unit 47 will also output the time of arrival at thespecified end location if the user indicates the start time of thejourney or it will output a required start time to the journey if theuser specifies a required arrival time at the destination. The segmentlist 59 is then converted into appropriate driving instructions for theuser.

[0037] The main components of the navigation control centre 11 whichgenerate the driving instructions are shown in FIG. 6. As shown, thesystem includes a driving instruction generator 61 which receives thesegment list 59 generated by the route calculation unit 47 together withany user preferences from the user preference database 43 and data fromthe road network database 49 for the roads defined by the segments inthe segment list 59. The driving instruction generator 61 also receivesdata from a signage database 63 and from a landmark database 65. Thesignage database 63 stores the location and content of signposts thatare located along the side of the roads defined in the road networkdatabase 49 and the landmark database 65 stores the locations andcharacteristics of various landmarks along the roads defined in the roadnetwork database 49.

[0038] In operation, the driving instruction generator 61 receives thesegment list 59 from the route calculation unit 47 together with anyuser preferences from the user preference database 43. Using the roadsegments ids contained within the segment list 59, the drivinginstruction generator 61 retrieves the appropriate roads and junctionsto be traversed for the calculated route from the road network database49. The driving instruction generator 61 also retrieves appropriatesignage data from the signage database 63 and landmark data from thelandmark database 65 in order to generate a list of driving instructionswhich are in a suitable form for output to the user. In this embodiment,the thus generated driving instructions are stored in a travel plandatabase 67 together with the driving instructions for other user'snavigation queries. In this embodiment, the driving instructionsgenerated by the instruction generator 61 are textual instructions whichcan be transmitted to the user's mobile telephone as a text message orwhich can be converted into speech either by a text to speech converteror by a human operator. For example, if the user's query is to obtaininstructions for getting from London Heathrow Airport to Cambridge, thenthe determined driving instructions may be as follows:

[0039] take the Northbound M4;

[0040] at junction 4 of the M4 turn off on to the M25 towardsRickmansworth;

[0041] at junction 27 of the M25 turn off on to the northbound M11; and

[0042] at junction 13 of the M11 turn off on to the A1303 until youarrive at Cambridge.

[0043] In this embodiment, the thus generated driving instructions arenot downloaded all at once to the user. Instead, the call centre 41monitors the position of the user and provides the appropriate drivinginstructions one at a time to the user as the user progresses along thecalculated route. As mentioned above, this position information isprovided by the GPS receiver located in the user's mobile telephone 3.

[0044] As mentioned above, the navigation control centre can processnavigation queries in respect of future travel plans and can provideestimated departure times in order to arrive at the selected destinationby a predetermined arrival time. However, the road speed data may beupdated after the system has provided the user with a response to theirinitial query. Therefore, in this embodiment, the navigation controlcentre 11 is operable to store each navigation query and the determinedsegment list, driving instructions, departure time and arrival time inthe travel plan database 67 so that each of the travel plans can bere-evaluated in light of updated road speed data. In this embodiment,this re-evaluation does not recalculate a new route given the new roadspeed data, it simply recalculates the arrival time for the previouslycalculated route using the updated road speed data and the previouslycalculated departure time. As a result, the computation can be performedquickly for multiple navigation queries. If the arrival time has changedconsiderably, then an appropriate warning can be given to the user sothat they can change their departure time accordingly.

[0045] The main components of the navigation control centre 11 whichperform this monitoring function are shown in FIG. 7 and the processingsteps performed are shown in FIG. 8. As shown in FIG. 7, the systemincludes a route monitoring unit 71 which receives, in step S1, thesegment list 59 together with user preferences from the user preferencesdatabase 43 and the updated road speed data 55. Using this information,the route monitoring unit 71 calculates, in step S3, the new arrivaltime at the specified destination from the user's current position orfrom the specified start location and departure time if the user has notyet set off. The new arrival time calculated by the route monitoringunit 71 is then output to a comparison unit 73 which compares, in stepS5, the new arrival time with the previously defined arrival time 75.The comparison result is then output to a decision unit 75 whichcompares, in step S7, the change in the arrival time with apredetermined threshold value (Th). If the change in the arrival time isless than the threshold value then the decision unit takes no action andthe processing for this route ends. If, however, the change in thearrival time is greater than the threshold value (e.g. the new arrivaltime is half an hour later or half an hour earlier than the previouslydefined arrival time), then the decision unit 75 determines, in step S9,whether or not the user has already set off on the route (makingreference to the proposed departure time and the current time providedby the clock 79). If he has not set off, and the user has specifiedeither a desired arrival time or a departure time, then in step S11, thedecision unit 75 informs the user (via the call centre 41) of an updateddeparture time (in order to arrive at the destination at the requiredarrival time) or an updated arrival time (if the user sets off on thejourney at the specified departure time).

[0046] In this embodiment, if the decision unit 75 determines at step S9that the user has already set off on route, then it instructs the routecalculation unit 47 to recalculate the quickest route to the desireddestination from the user's current position. If in step S13, the routecalculation unit 47 determines that there is a quicker route, then atstep S15, the decision unit 75 informs the user of the new route andthen the processing ends. If, however, the route calculation unit 47cannot find a quicker route, then in step S17, the decision unit 75informs the user of the delayed arrival time at the specifieddestination.

[0047] The above monitoring procedure is repeatedly performed for each“pending” travel plan until the user arrives at the specifieddestination or until the navigation query has been cancelled by the useror by a system administrator. In this embodiment, the interval betweeneach monitoring operation depends on whether or not the user iscurrently on route or whether or not the travel plan is in respect of afuture travel arrangement. In particular, if the travel plan is for ajourney to be taken next week, then the route monitoring procedure isonly performed for that travel plan once every day, until the day ofdeparture. The route monitoring procedure for this travel plan is thenperformed once every hour until the user sets off at which point theroute monitoring procedure is carried out once every minute.

[0048] As those skilled in the art will appreciate, the system describedabove offers a number of advantages over the prior art navigationsystems. These advantages are mainly as a result of the systemmaintaining time related models for traffic speeds expected on each roadsection in the road database, as opposed to the static road speeds thatare conventionally used. As a result, if the time of a journey is knownwhen the route is calculated, the expected traffic conditions for thatjourney can be extracted from the traffic database 51 and the quickestroute for such conditions can be calculated more accurately than withthe conventional systems. The system can also keep track of the time ofday during the route calculation, and continue to update the appropriatetraffic conditions for that time of day, which may well change duringthe duration of the planned journey. These calculations then allow thesystem to be able to calculate more accurately the answer to thenavigation query “If I wish to arrive at town X at time T, at which timeshould I start from town Y?”, by performing the route calculation inreverse time starting from the destination at the prescribed arrivaltime.

[0049] The system can also determine different routes for a journeyduring rush hour, or the same journey at off-peak times, and calculatethe journey time appropriately. The system can also accurately plan ajourney which starts before rush hour and finishes after rush hour—thepoint on the journey in which the rush hour is encountered will bedetermined and the appropriate route taken for those conditions.

[0050] Further, as described above, if the system has advised the driverof the need to start a journey at a certain time, it can subsequentlychange this advice on the basis of new traffic data, to instruct thejourney to start earlier or later as appropriate. Further, since thesystem continually monitors each of the calculated routes and receivesposition information of each of the users, it can provide real timenavigation by altering the routes (and hence driving instructions) if aroad on a previously calculated route becomes congested or if the userdeviates from the calculated route.

[0051] Modifications and Alternative Embodiments

[0052] A description has been given above of a navigation systememploying a mobile telephone and a fixed navigation control centre.Rather than being part of a mobile telephone, the navigation system mayform part of a hand held personal digital assistant (PDA), web browser,laptop PC or the like. Although not preferred, the navigation controlsystem described above may be provided as an autonomous system withinthe user's vehicle. This is not preferred, because of the large amountof data that would need to be stored within the vehicle and the need forconstant updating of each user's databases.

[0053] In the above embodiment, the navigation control centre receivedposition information for the user from a GPS receiver built into theuser's mobile telephone. This enabled the system to be able to track theuser along the calculated route and to warn the user if a new routeshould be taken or if the user deviates from the calculated route. Asthose skilled in the art will appreciate, the navigation control centremay obtain the position information from alternative sources. Forexample, the user may inform the control centre himself of his currentlocation. Alternatively, the position information may be provided fromthe mobile telephone network using, for example, the Cursor systemproposed by Cambridge Positioning Systems Limited. As a furtheralternative, the system may be arranged to estimate the user's currentlocation given the starting time for the journey, the current time andthe road speeds for the roads along which the user should havetravelled. However, this is not preferred since it is likely to be lessaccurate.

[0054] In the above embodiment, the driving instructions that weregenerated were sent to the user either as text messages or as voicemessages. As an alternative or in addition, the system may transmit a“thumbnail” sketch or map of the route to be taken. This may betransmitted either as a bit map or as a series of vectors representingthe route to be traversed.

[0055] In the above embodiment, the navigation control centre convertedthe determined segment list into a set of user understandable drivinginstructions which were then transmitted one by one to the user whenappropriate. In an alternative embodiment, the driving instructions maybe downloaded at once to the mobile telephone which could then track theuser's progress along the calculated route and issue the drivinginstructions as appropriate. Alternatively still, the calculated segmentlist may be transmitted to an on board computer in the user's vehiclefor processing and conversion into the driving instructions. Such anembodiment would be preferred where the on board computer also includesa database of map data from which a high resolution image of the routeto be traversed can be displayed to the user on a display in thevehicle.

[0056] In the above embodiment, an azimuth sensor was provided in theuser's telephone so that the orientation of the telephone can bedetermined and hence appropriate instructions can be given to the userto identify an initial direction to travel. If the handset is to be madeas simple as possible, then the azimuth sensor may be omitted. In thiscase, the user may have to revert to a more traditional technique ofidentifying an initial bearing, such as identifying the intersection oftwo streets.

[0057] In the above embodiment, a single navigation control centre wasprovided. As those skilled in the art will appreciate, severalnavigation control centres may be provided, each operating within adistinct locality of a geographic region. For example, severalnavigation control centres may be provided in and around large citieswhilst one or two may be provided between the cities in more ruralareas. In such an embodiment, the control centres would be arranged tocommunicate with each other so that as a user enters the geographic areaof another navigation control centre, a “handover” procedure can beperformed. In this way, the navigation control centres form adistributed network of navigation centres.

[0058] In the navigation control system described above, a road networkdatabase and a traffic database were used to provide information forroute calculation. As those skilled in the art will appreciate, thesedatabases may be provided by third party systems, with the navigationcontrol system only operating to use the data from those databases.

[0059] In the embodiment described above, the navigation centre receivesposition information of each user. The navigation control centre canthen track the changing positions and determine the speed of each userover the road segments. It can then use this actual speed data to updatethe road speed data that is used during the route calculations. Further,if the user's mobile telephone employs a GPS type receiver (whichprovides speed over the ground information), then the mobile telephonecan inform the navigation control centre of the user's speed. In thiscase, the navigation control centre does not need to track the user'sposition to determine the speed although it would need the positioninformation to know to which road segment the recorded speed applied.

[0060] In the above embodiment, the monitoring system repeatedlyrecalculated the expected arrival time at the specified destinationgiven the proposed departure time and the road speed data. The purposeof this monitoring was to determine whether or not any changes to theroad speed data would affect any user's travel plans. As those skilledin the art will appreciate, this can also be achieved by fixing thearrival time and navigating through the proposed route in reverse timein order to determine the new departure time. The new departure time canthen be directly compared with the original departure time and the userwarned accordingly if it has changed significantly.

[0061] In the above embodiment, the system continuously monitored theexpected arrival time of the user at the specified destination and if itchanged by more than a predetermined amount, then it gave the user anupdated departure time. The threshold value used in determining whetheror not to warn the user may be set by a system administrator or it maybe different for each user and may be defined in the user preferences. Adifferent threshold value may also be used for different travel plansfor the same user if desired.

[0062] In the above embodiment, the user input the navigation query fromthe users mobile telephone. As an alternative users can input theirnavigation query and receive the navigation instructions through, forexample, an Internet connection to the navigation control centre. Inthis case, when the user is planning the route, the user may use a fixedlandline connection to the Internet. However, during the route, the userwill need to use a mobile communication link between the user and thenavigation control centre.

[0063] In the above embodiment, the route calculation unit calculatedthe best route from the specified start location to the specified endlocation. In an alternative embodiment, the route calculation unit maycalculate the best route together with one or more alternative routesthat the user may take. The system need not inform the user of thesealternative routes but may simply store them for use if part of the bestroute becomes congested. Further, even if the best route doesn'tdeteriorate, one of the alternative routes might improve sufficientlyfor it to be worth mentioning. For example, one of the alternativeroutes might have had a blockage when the original route was beingcalculated which subsequently cleared and which may offer the user asignificant reduction in the journey time. In this case, the systemcould output to the user the proposed new route together with theappropriate departure and arrival times.

[0064] In the above embodiment, a number of processing units have beendescribed for use in the navigation control centre. As those skilled inthe art will appreciate, these processing units may be dedicatedhardware circuits or they may be computer software modules run on aconventional programmable processor. A computer program or programs usedto configure such a programmable processor to carry out the processingdiscussed above may be in the form of source code, object code, a codeintermediate source and object code such as a partially compiled form,or in any other form. Such computer programs may be stored in a memoryat the time of manufacture of the device or it may be loaded into memoryby either downloading the program file from, for example, the Internetor from a storage medium such as a CD ROM or the like.

1. A navigation guidance system comprising: means for storing datadefining a road network within a geographical area; means for storingdata defining speed-time characteristics for roads of the road network,which speed-time characteristics define traffic speeds along the roadsin the network at different times; means for receiving data from a userdefining a travel plan including a source location, a destinationlocation and a proposed travel time; and route determining meanscomprising: (i) means for determining traffic speeds for the roads ofthe road network at the proposed travel time using said data definingsaid speed-time characteristics; and (ii) means for calculating aquickest route from the source location to the destination locationdefined in the travel plan at the proposed travel time using the datadefining the road network and the determined traffic speeds for theroads of the road network.
 2. A system according to claim 1, whereinsaid proposed time of travel specifies a desired arrival time at thedestination and wherein said route determining means is operable tocalculate the required departure time from the source location in orderto arrive at the destination at the desired arrival time.
 3. A systemaccording to claim 2, further comprising means for updating the datadefining the speed time characteristics for the roads of the roadnetwork.
 4. A system according to claim 3, further comprising means formonitoring the calculated route using the updated road speed data inorder to determine whether or not a new departure time from the sourcelocation is required in order to arrive at the destination at thedesired arrival time.
 5. A system according to claim 4, wherein saidmonitoring means is operable to calculate the expected arrival time ofthe user at the destination based on the original departure time, thecalculated route and the updated road speed data and is operable torecalculate a new departure time if said expected arrival time is apredetermined amount before or after the desired arrival time.
 6. Asystem according to claim 4, wherein said monitoring means is operableto recalculate the departure time in reverse time starting from thedestination at the required arrival time using the calculated route andthe updated road speed data and is operable to advise the user of thenew departure time if the new departure time has changed by apredetermined amount from the originally calculated departure time.
 7. Asystem according to any of claims 4 to 6, wherein said monitoring meansis operable to perform said determination at predetermined timeintervals, until the user arrives at the destination location.
 8. Asystem according to claim 7, wherein said monitoring means is arrangedso that said predetermined time intervals vary depending on a timedifference between a current time and the calculated departure time. 9.A system according to any of claims 4 to 8, wherein if said monitoringmeans determines that a new departure time is required after the userhas set off from the source location, then said monitoring means isoperable to cause said route determining means to try to find a quickerroute to the destination.
 10. A system according to claim 1, whereinsaid proposed time of travel is defined as a specified departure timeand wherein said route determining means is operable to track time fromthe indicated departure time and to use road speed values for each roadalong the calculated route corresponding to the time at which the useris expected to travel on the road as calculated from the specifieddeparture time.
 11. A system according to any preceding claim, furthercomprising means for outputting the calculated route and/or thedetermined departure time to the user.
 12. A system according to anypreceding claim, wherein said data defining said road network comprisesdata defining the location of nodes corresponding to road junctions anddata defining links connecting the nodes representing road segmentsbetween the road junctions.
 13. A system according to claim 12, whereinat least one speed-time characteristic is stored for each road segment.14. A system according to claim 12 or 13, wherein each road segment isstored with a segment identification number and wherein said calculatingmeans is operable to output a list of road segment identificationnumbers corresponding to the route to be traversed from the sourcelocation to the destination location.
 15. A system according to claim14, further comprising means for converting said sequence of roadsegment identification numbers into a sequence of driving instructionsdefining the road names and road intersection points to be traversedalong the calculated route.
 16. A system according to claim 15, furthercomprising means for outputting said driving instructions to the user asa set of spoken or text instructions.
 17. A system according to claim16, wherein said receiving means is operable to receive said travel planfrom the user via a telephone connection and wherein said calculatedroute is output to the user through said telephone connection.
 18. Asystem according to any preceding claim, wherein a different speed-timecharacteristic for each road of the road network is stored for each dayof the week.
 19. A system according to any preceding claim, wherein adifferent speed-time characteristic for each road of the road network isstored for each day of the year.
 20. A system according to any precedingclaim, further comprising means for generating map data for thecalculated route and means for outputting the map data to the user. 21.A system according to claim 20, wherein said map data comprises graphicmap data illustrating the route to be taken and wherein said outputmeans comprises a graphical display.
 22. A system according to anypreceding claim, wherein said receiving means is operable to receivedata from a plurality of different users defining travel plans for eachuser and wherein said route determining means is operable to determine aroute for each user based on the time of travel of each user.
 23. Anavigation guidance method comprising the steps of: storing datadefining a road network within a geographical area; storing datadefining speed-time characteristics for roads of the road network, whichspeed-time characteristics define traffic speeds along the roads in thenetwork at different times; receiving data from a user defining a travelplan including a source location, a destination location and a proposedtravel time; and determining a route comprising the steps of: (i)determining traffic speeds for the roads of the road network at theproposed travel time using said data defining said speed-timecharacteristics; and (ii) calculating a quickest route from the sourcelocation to the destination location defined in the travel plan at theproposed travel time using the data defining the road network and thedetermined traffic speeds for the roads of the road network.
 24. Amethod according to claim 23, wherein said proposed time of travelspecifies a desired arrival time at the destination and wherein saidroute determining step calculates the required departure time from thesource location in order to arrive at the destination at the desiredarrival time.
 25. A method according to claim 24, further comprising thestep of updating the data defining the speed time characteristics forthe roads of the road network.
 26. A method according to claim 25,further comprising the step of monitoring the calculated route using theupdated road speed data in order to determine whether or not a newdeparture time from the source location is required in order to arriveat the destination at the desired arrival time.
 27. A method accordingto claim 26, wherein said monitoring step calculates the expectedarrival time of the user at the destination based on the originaldeparture time, the calculated route and the updated road speed data andrecalculates a new departure time if said expected arrival time is apredetermined amount before or after the desired arrival time.
 28. Amethod according to claim 26, wherein said monitoring step recalculatesthe departure time in reverse time starting from the destination at therequired arrival time using the calculated route and the updated roadspeed data and advises the user of the new departure time if the newdeparture time has changed by a predetermined amount from the originallycalculated departure time.
 29. A method according to any of claims 26 to28, wherein said monitoring step perform said determination atpredetermined time intervals, until the user arrives at the destinationlocation.
 30. A method according to claim 29, wherein said monitoringstep is such that said predetermined time intervals vary depending on atime difference between a current time and the calculated departuretime.
 31. A method according to any of claims 26 to 30, wherein if saidmonitoring step determines that a new departure time is required afterthe user has set off from the source location, then said monitoring stepcauses said route determining step to try to find a quicker route to thedestination.
 32. A method according to claim 23, wherein said proposedtime of travel is defined as a specified departure time and wherein saidroute determining step tracks time from the indicated departure time anduses road speed values for each road along the calculated routecorresponding to the time at which the user is expected to travel on theroad as calculated from the specified departure time.
 33. A methodaccording to any of claims 23 to 32, further comprising the step ofoutputting the calculated route and/or the determined departure time tothe user.
 34. A method according to any of claims 23 to 33, wherein saiddata defining said road network comprises data defining the location ofnodes corresponding to road junctions and data defining links connectingthe nodes representing road segments between the road junctions.
 35. Amethod according to claim 34, wherein at least one speed-timecharacteristic is stored for each road segment.
 36. A method accordingto claim 34 or 35, wherein each road segment is stored with a segmentidentification number and wherein said calculating step outputs a listof road segment identification numbers corresponding to the route to betraversed from the source location to the destination location.
 37. Amethod according to claim 36, further comprising the step of convertingsaid sequence of road segment identification numbers into a sequence ofdriving instructions defining road names and road intersection points tobe traversed along the calculated route.
 38. A method according to claim37, further comprising the step of outputting said driving instructionsto the user as a set of spoken or text instructions.
 39. A methodaccording to claim 38, wherein said receiving step receives said travelplan from the user via a telephone connection and wherein saidcalculated route is output to the user through said telephoneconnection.
 40. A method according to any of claims 23 to 39, wherein adifferent speed-time characteristic for each road of the road network isstored for each day of the week.
 41. A method according to any of claims23 to 40, wherein a different speed-time characteristic for each road ofthe road network is stored for each day of the year.
 42. A methodaccording to any of claims 23 to 41, further comprising the step ofgenerating map data for the calculated route and the step of outputtingthe map data to the user.
 43. A method according to claim 42, whereinsaid map data comprises graphic map data illustrating the route to betaken and wherein said outputting step outputs the map data to agraphical display.
 44. A method according to any of claims 23 to 43,wherein said receiving step receives data from a plurality of differentusers defining travel plans for each user and wherein said routedetermining step determines a route for each user based on the time oftravel of each user.
 45. A computer readable medium storing computerimplementable instructions for controlling a processor to implement themethod according to any of claims 23 to
 44. 46. Computer implementableinstructions product for controlling a processor to implement the methodaccording to any of claims 23 to 44 when said instructions product isrun on said processor.